home *** CD-ROM | disk | FTP | other *** search
/ Pluspack 1 / Caligari Corporation Pluspack1 1998.iso / TSX_SDK / tsxINC / ItsxKeyFrame.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-28  |  2.9 KB  |  95 lines

  1. //******************************************************************************
  2. //    File: ItsxKeyFrame.h
  3. //  Module: trueSpace eXtensions API
  4. //   Descr: Declarations for the ItsxKeyFrame COM interface
  5. //******************************************************************************
  6.  
  7.  
  8. #ifndef ITSXKEYFRAME_H
  9. #define ITSXKEYFRAME_H
  10.  
  11.  
  12. #include "itsxcommon.h"
  13. #include "tsxcomtypes.h"
  14.  
  15.  
  16. #undef INTERFACE
  17. #define INTERFACE ItsxKeyFrame
  18.  
  19.  
  20. #define ITSXKEYFRAMEATTRIBUTEOFFSET 100
  21.  
  22.  
  23.  
  24. enum ItsxKeyFrameAttribute {
  25.  
  26.     ItsxKeyFrameAttribute_Beginning = ITSXKEYFRAMEATTRIBUTEOFFSET,
  27.     ItsxKeyFrameAttribute_Look,
  28.     ItsxKeyFrameAttribute_Rotate,
  29.     ItsxKeyFrameAttribute_Move,
  30.     ItsxKeyFrameAttribute_Scale,
  31.     ItsxKeyFrameAttribute_Deform,
  32.     ItsxKeyFrameAttribute_Rectangle,
  33.     ItsxKeyFrameAttribute_Color,
  34.     ItsxKeyFrameAttribute_Surface,
  35.     ItsxKeyFrameAttribute_Bump,
  36.     ItsxKeyFrameAttribute_Texture,
  37.     ItsxKeyFrameAttribute_Procedural,
  38.     ItsxKeyFrameAttribute_Environment,
  39.     ItsxKeyFrameAttribute_FacetAngle,
  40.     ItsxKeyFrameAttribute_LightColor,
  41.     ItsxKeyFrameAttribute_Background,
  42.     ItsxKeyFrameAttribute_Global,
  43.     ItsxKeyFrameAttribute_Fog,
  44.     ItsxKeyFrameAttribute_Raytrace,
  45.     ItsxKeyFrameAttribute_Plugin,
  46.     ItsxKeyFrameAttribute_Nail,
  47.     ItsxKeyFrameAttribute_Joint,
  48.     ItsxKeyFrameAttribute_Kinematics,
  49.     ItsxKeyFrameAttribute_Vertex,
  50.     ItsxKeyFrameAttribute_Invisible,
  51.     ItsxKeyFrameAttribute_End,
  52.  
  53.     };
  54.  
  55.  
  56. DECLARE_INTERFACE_(ItsxKeyFrame, IUnknown)
  57. {
  58.     // IUnknown members
  59.     STDMETHOD(QueryInterface) (THIS_ REFIID, PPVOID) PURE;
  60.     STDMETHOD_(ULONG, AddRef)  (THIS) PURE;
  61.     STDMETHOD_(ULONG, Release) (THIS) PURE;
  62.  
  63.     // ItsxKeyFrame members
  64.     STDMETHOD(QueryScript) (THIS) PURE;
  65.     STDMETHOD(CreateScript) (THIS) PURE;
  66.     STDMETHOD(DestroyScript) (THIS) PURE;
  67.     STDMETHOD(TreeQueryScript) (THIS) PURE;
  68.     STDMETHOD(TreeCreateScript) (THIS) PURE;
  69.     STDMETHOD(TreeDestroyScript) (THIS) PURE;
  70.     STDMETHOD(SetFirstAttribute) (THIS) PURE;
  71.     STDMETHOD(SetNextAttribute) (THIS) PURE;
  72.     STDMETHOD(GetAttributeType) (THIS_ ItsxKeyFrameAttribute*) PURE;
  73.     STDMETHOD(GetAttributeName) (THIS_ char**) PURE;
  74.     STDMETHOD(CreateAttribute) (THIS_ ItsxKeyFrameAttribute) PURE;
  75.     STDMETHOD(DestroyAttribute) (THIS) PURE;
  76.     STDMETHOD(SetFirstKeyFrame) (THIS) PURE;
  77.     STDMETHOD(SetNextKeyFrame) (THIS) PURE;
  78.     STDMETHOD(SetPrevKeyFrame) (THIS) PURE;
  79.     STDMETHOD(SetLastKeyFrame) (THIS) PURE;
  80.     STDMETHOD(GetKeyFrameTime) (THIS_ float*) PURE;
  81.     STDMETHOD(GetKeyFrameSplineParameters) (THIS_ float*, float*, float*) PURE;
  82.     STDMETHOD(SetKeyFrameSplineParameters) (THIS_ float, float, float) PURE;
  83.     STDMETHOD(CreateKeyFrame) (THIS) PURE;
  84.     STDMETHOD(DestroyKeyFrame) (THIS) PURE;
  85. };
  86.  
  87. // typedef a pointer to this interface
  88. typedef ItsxKeyFrame* PITSXKEYFRAME;
  89.  
  90. // define a GUID for this interface
  91. // {C7FADE60-462B-11d1-A255-006097D15F58}
  92. DEFINE_GUID(IID_ItsxKeyFrame, 0xc7fade60, 0x462b, 0x11d1, 0xa2, 0x55, 0x0, 0x60, 0x97, 0xd1, 0x5f, 0x58);
  93.  
  94.  
  95. #endif // ITSXKEYFRAME_H